package com.abewy.android.apps.klyph.core.graph.serializer;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
import com.abewy.android.apps.klyph.core.graph.Tag;
import com.abewy.android.apps.klyph.core.graph.GraphObject;
public class TagDeserializer extends Deserializer
{
@Override
public GraphObject deserializeObject(JSONObject data)
{
Tag tag = new Tag();
deserializePrimitives(tag, data);
return tag;
}
public Map<String, List<Tag>> deserializeMap(JSONObject data)
{
Map<String, List<Tag>> map = new Hashtable<String, List<Tag>>();
if (data != null)
{
for (Iterator iterator = data.keys(); iterator.hasNext();)
{
String key = (String) iterator.next();
JSONArray tags = data.optJSONArray(key);
map.put(key, deserializeArray(tags, Tag.class));
}
}
return map;
}
public Map<String, List<Tag>> deserializeMap(JSONArray data)
{
Map<String, List<Tag>> map = new Hashtable<String, List<Tag>>();
if (data != null)
{
int n = data.length();
for (int i = 0; i < n; i++)
{
JSONArray tags = data.optJSONArray(i);
map.put(String.valueOf(i), deserializeArray(tags, Tag.class));
}
}
return map;
}
}